import { Body, Controller, Get, Param, Post, Query, Request } from '@nestjs/common';

@Controller('user')
export class UserController {
    @Get()
    index(): String {
        return 'user!!'
    }

    @Get('add')
    add(@Query() query) {
        // Query()方法参数装饰器，扩展参数
        // 输入http://localhost:3000/user/add?id=123&name=ven 会打印 { id: '123', name: 'ven' }
        // 还可以写成(@Query('id') id)单独获取里面的值
        console.log(query);
        // return 'user!!'
        return query;   // 数组或者对象，则返回json字符串
    }

    @Get('edit')
    edit(@Request() req) {
        console.log(req.query);
        return req.query;
    }

    @Post('create')
    create(@Body() data) {
        console.log(data);
        return data;
    }

    // 动态路由 http://localhost:3000/user/123  
    @Get(':id')
    detail(@Param() param) {
        // 动态路由要放在下面，不然匹配路由的时候会优先匹配这个
        console.log(param); // 打印 { id: 123 }
        return param;
    }

    // 另外还有模糊匹配，例如 @Get('a*a'), 要注意顺序
}
